#ifndef	___SERVICE_IMP_CLI___
#define	___SERVICE_IMP_CLI___


#include "Service/ServiceImp.h"
#include "Entry/LibExportCli.h"
#include "Entity/EntityManagerIf.h"
#include "Scene/SceneManagerIf.h"

//
//	Client Logic
//
//
class TCLI_API ServiceImpCli : public ServiceImp
{
public:
	enum
	{
		num_working_thread	=	4,
		num_session_mgrs	=	2,
	};


	ServiceImpCli();
	virtual ~ServiceImpCli();

	//
	//	initialize service
	//
	virtual void init(ServiceData& data);
protected:
	virtual void onStart();
	virtual void onStop();
	//
	//	callbacks
	//
	virtual void onTimer();
	virtual void onDispatchMsg(IMsg* pMsg);
protected:
	Service*	m_wpSvcNW;

	IEntityManager*		m_pEntityMgr;
	ISceneManager*		m_pSceneMgr;

	IMsgListener*		m_pMsgListener;
};

#endif
